Wireless local area networks (WLAN) with Quality of Service (QoS) media access control (MAC) enhancements, as introduced in an IEEE 802.11e amendment, are becoming more popular as a media for real time streams. Audio codecs in voice calls generate audio data frames between constant time intervals. If a codec supports a silent compression mechanism, then the audio codec does not generate an audio payload during silent periods. During the silent periods, the audio codec creates only updating frames that contain background noise information. The generation interval of the updating frames is longer than the audio frame's generation interval.
One very important aspect in VoIP calls is power consumption. In order to create a robust and efficient power save mechanism for VoIP calls, the 802.11e standard introduces an unscheduled APSD power save mechanism. The location of an APSD bit 110 in a traffic specification (TSPEC) element 120 is shown in FIG. 1. In unscheduled APSD, the uplink data or management frame operates as a “trigger” frame. The trigger frame starts an APSD service period if it is transmitted from the trigger enabled access point (AP).
In previous versions of 802.11e amendments, the concept of enabling an Accessory Category (AC) to be trigger enabled was introduced. If the uplink frame which is associated with a trigger-enabled AC is sent according to 802.11e, an unscheduled APSD service period is started.
During a service period, the terminal listens to the media on a full time basis and receives transmitted frames from the AP. The service period is terminated when the AP transmits a frame with a set end of service period (EOSP) bit to the station or terminal. After the APSD service period is terminated, the station or terminal can set the receiver off and go into a doze state. With unscheduled APSD (U-APSD), the service periods repeat periodically according to the uplink triggering frames.
FIG. 2 shows the conventional interaction between a terminal 220 and an access point 230 during a downlink silent compression period for purposes of unscheduled APSD service periods in greater detail, wherein the uplink has ongoing data transmission and all transmitted frames are triggering. As shown in FIG. 2, for each U-APSD service period 245, the terminal 220 first transmits a QoS data frame to the access point 230 and the transmitted QoS data from the terminal starts the service period at step 250. This information is acknowledged by the access point 230 at step 255. The period from the initiation of step 250 to the end of step 255 constitutes the transmission opportunity for the terminal 220. Later, and at step 260, the access point 230 transmit a QoS Null, EOSP=1 signal to the terminal 220, which is acknowledged at step 265. The EOSP=1 information indicates the end of the U-APSD. The time from the initiation of step 260 to the end of step 265 constitutes the transmission opportunity for the access point 230.
In the event that the access point 230 has additional data to transmit, then it will follow its acknowledgment with QoS Data and the same EOSP=1 signal at step 275.
The streaming services transmit payload data in only one direction. Therefore, the delay requirements for streaming class services are much more loose than in bidirectional calls. Some streams transmit to other directional QoS report frames. These frames are used to provide feedback to the originator of the stream.
The received data frames are buffered in order to smooth the delay variation of the received frames. The duration of this buffering should be larger or equal to the maximum delay of the received frames. If a frame is received after its playout time has elapsed, then the frame is considered to be lost.
U-APSD logic for service period reduction may increase delays or delay variation of the received frames. This is due to the fact that the terminal triggers DL transmissions only between constant time periods. Therefore, the frames are not delivered from the AP to the terminal as soon as they arrive at the AP. Instead, they are delivered upon triggering. The possible delay increases may be addressed by using large a jitter buffer of constant size or adaptive jitter buffering that adapts to data flow conditions.
A terminal includes decision logic for estimating the total delay of the frame forwarding and deciding whether the number of listening periods may be reduced without causing an unacceptable delay and frame loss levels for the stream.